工控网首页
>

应用设计

>

S7-200与梅特勒-托利多IND231或IND236称重显示仪通讯

S7-200与梅特勒-托利多IND231或IND236称重显示仪通讯

2016/10/28 13:44:16

  本项目涉及到的PLC为西门子200系列的CPU224XP CN,称重仪表是梅特勒-托利多IND231或IND236称重显示仪。此称重仪表配有RS485第二通讯选件,二者通过RS485通讯,西门子S7-200将Port0口设置为自由口通讯协议。

  称重仪表的参数设置如下:

  1.将F4.2.1协议/模式设置为连续输出模式,将原来的RPr int 改为Cont in;

  连续输出格式说明如下

  1)ASCII文本开始字符(0X02),始终发送。

  2)显示的重量。可以是毛重或净重。六位,没有小数点或符号。不足六位前补空格

  3)皮重。六位皮中数据。字段中没有小数点。

  4)ASCII回车字符(0X0D)

  5)校验和启用时才发送校验位。校验和用于检测数据发送中的错误。

  2.F4.2.3.1中设定波特率 1200 2400 4800 9600 19200 38400 57600 115200   默认模式为9600 不用修改

  3.F4.2.3.2 中设置数据位及奇偶校验位  8 NONE  7odd  7 even

  默认模式为8位无校验位

  4.F4.2.3.3 流量控制位 默认为OFF

  5.F4.2.3.4 RS类型 将原来默认的RS232设置为RS485

  仪表中数据位如下:

  SB-A字节中定义如下:

  SB-B状态字节位定义

  西门子S7-200端接Port0口,程序如下:

  主程序调用子程序(SBR0 通信)

  SBR0通信程序如下:

  此段为设置每3秒采集一次称重数据存到首地址为VB100,数据格式和称重仪表的数据位相对应

  本段程序是设置S7-200的Port0端口为自有协议,详情请参照S7-200帮助文件,SMB30的值为09H,说明为“自由口协议,波特率9600,8个数据位,无校验位”; SMB87的值为BOH,说明“接收信息使能被使能,使用SMB88数值检测信息开始,使用SMB89数值检测信息结束,使用SMB90数据检测空闲条件,使用SMB92超出时间段,信息终止,使用SMB94最大接收字符数”,这些参数的设置与上述称重显示仪的参数设置一致。

  此段程序是中断中的,读数从VB100开始,与称重仪表数据位对应如下:

  所以从将VB105至VB110所存的数据存至VB300至VB305中,然后通过将这些字节的字符串组转换为双整型赋值给VD310,再将VD310转换成实数型赋给VD120,方便下面程序进行计算。

  下面这段程序是确认小数点的位置,小数点位置存在了VB102中,程序中将VB102的前三个位传给了VB130通过判断前三位来断定小数点的位置(参考称重仪表中的状态字SB-A中定义)。VB103.1为称重仪表中SB-B中数位1,代表符号是正还是负。

投诉建议

提交

查看更多评论
其他资讯

查看更多

助力企业恢复“战斗状态”:MyMRO我的万物集·固安捷升级开工场景方案

车规MOSFET技术确保功率开关管的可靠性和强电流处理能力

未来十年, 化工企业应如何提高资源效率及减少运营中的碳足迹?

2023年制造业“开门红”,抢滩大湾区市场锁定DMP工博会

2023钢铁展洽会4月全新起航 将在日照触发更多商机